﻿#define _CRT_SECURE_NO_WARNINGS 1

//#include <iostream>
//#include <algorithm>
//using namespace std;
//
//int main()
//{
//    int T = 0;
//    cin >> T;
//    while (T--)
//    {
//        long long n = 0, a = 0, b = 0;
//        long long mony = 0, minmony = -1;
//        cin >> n >> a >> b;
//
//        if (n > 6)
//        {
//            n -= 6;
//            mony = (n / 6) * min(a * 3, b * 2);
//            n %= 6;
//            n += 6;
//        }
//
//        for (int i = 0; i <= 6; i++)
//        {
//            for (int j = 0; j <= 4; j++)
//            {
//                if (i * 2 + j * 3 >= n)
//                {
//                    if (minmony < 0)
//                    {
//                        minmony = i * a + j * b;
//                    }
//                    else
//                    {
//                        long long x = i * a + j * b;
//                        minmony = min(minmony, x);
//                    }
//                }
//            }
//        }
//        cout << mony + minmony << endl;
//    }
//    return 0;
//}


//#include<iostream>
//#include<vector>
//using namespace std;
//
//int main() 
//{
//    long long n;
//    cin >> n;
//    vector<int> num; //记录数每位
//    int sum = 0;
//    while (n) 
//    { //连除法取每位数字
//        sum += n % 10; //求所有位数字累加和
//        num.push_back(n % 10);
//        n /= 10;
//    }
//    if (sum % 2) 
//    { //数位和为奇数，无法分成两半
//        cout << "No" << endl;
//        return 0;
//    }
//    vector<int> dp(sum / 2 + 1, 0); //dp[i]不为0，表示dp[i]可以被选出的数字相加得到
//    dp[0] = 1;
//    for (int i = 0; i < num.size(); i++) 
//    {
//        for (int j = sum / 2; j >= num[i]; j--)
//            dp[j] = dp[j] + dp[j - num[i]]; //能够被这两个数相加得到
//    }
//    if (dp[sum / 2]) //不为0
//        cout << "Yes" << endl;
//    else
//        cout << "No" << endl;
//    return 0;
//}


//#include <iostream>
//#include <algorithm>
//using namespace std;
//
//int main()
//{
//    long long t = 0;
//    long long n = 0, a = 0, b = 0;
//    long long count = 0;
//    cin >> t;
//    while (t--)
//    {
//        cin >> n >> a >> b;
//        count = 0;
//        if (a >= b)
//        {
//            long long x = n / 3;
//            count += x * b;
//            if (n % 3 != 0)
//            {
//                count += b;
//            }
//        }
//        else
//        {
//            if (n <= 2)
//            {
//                count += a;
//            }
//            else
//            {
//                double x = a * 1.0 / 2;
//                double y = b * 1.0 / 3;
//                if (x < y)
//                {
//                    count = n / 2 * a;
//                    if (n % 2 != 0)
//                    {
//                        count += a;
//                    }
//                }
//                else if (x > y)
//                {
//                    count = n / 3 * b;
//                    if (n % 3 != 0)
//                    {
//                        count += a;
//                    }
//                }
//                else
//                {
//                    if (n % 3 == 0)
//                    {
//                        count = n / 3 * b;
//                    }
//                    else
//                    {
//                        count = n / 2 * a;
//                        if (n % 2 != 0)
//                        {
//                            count += a;
//                        }
//                    }
//                }
//            }
//        }
//        cout << count << endl;
//    }
//    return 0;
//}


//#include <iostream>
//#include <algorithm>
//using namespace std;
//
//int main()
//{
//    long long t = 0;
//    long long n = 0, a = 0, b = 0;
//    long long count = 0;
//    cin >> t;
//    while (t--)
//    {
//        cin >> n >> a >> b;
//        count = 0;
//        if (a >= b)
//        {
//            long long x = n / 3;
//            count += x * b;
//            if (n % 3 != 0)
//            {
//                count += b;
//            }
//        }
//        else
//        {
//            if (n <= 2)
//            {
//                count += a;
//            }
//            else
//            {
//                long long x = n / 2 * a;
//                if (n % 2 != 0)
//                {
//                    x += a;
//                }
//                long long y = n / 3 * b;
//                if (n % 3 != 0)
//                {
//                    y += a;
//                }
//                count = min(x, y);
//            }
//        }
//        cout << count << endl;
//    }
//    return 0;
//}